package models;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;

import play.db.jpa.Model;

@Entity
public class Ingerido extends Model {
	
	@OneToOne
	private Comible comible;
	
	// Cantidad de porciones Sugeridas
	private Integer cantPorcionesSugeridas;
	
	// Cantidad de porciones Ingeridas
	private Integer cantPorcionesIngeridas;
	
	@ManyToOne
	private ComidaDieta comidaDieta;

	private Boolean consumido;
	
	public Ingerido(Comible comible, Integer cantPorcionesSugeridas) {
		this.comible = comible;
		this.cantPorcionesSugeridas = cantPorcionesSugeridas;
		this.cantPorcionesIngeridas = 0;
	}
	
	public static Ingerido findByComidaDieta(Long comidaDietaId, Long comibleId) {
		return Ingerido.find("comidaDieta.id = ? AND comible.id = ?", comidaDietaId, comibleId).first();
	}

	public Comible getComible() {
		return comible;
	}

	public void setComible(Comible comible) {
		this.comible = comible;
	}

	public Integer getCantPorcionesSugeridas() {
		return cantPorcionesSugeridas;
	}

	public void setCantPorcionesSugeridas(Integer cantPorcionesSugeridas) {
		this.cantPorcionesSugeridas = cantPorcionesSugeridas;
	}

	public Integer calcularCalorias() {
		return this.getComible().calcularCalorias() * this.getCantPorcionesIngeridas();
	}

	public ComidaDieta getComidaDieta() {
		return comidaDieta;
	}

	public void setComidaDieta(ComidaDieta comidaDieta) {
		this.comidaDieta = comidaDieta;
	}

	public Boolean getConsumido() {
		return consumido;
	}
	
	public void setConsumido(Boolean consumido) {
		this.consumido = consumido;
	}

	public Integer getCantPorcionesIngeridas() {
		return cantPorcionesIngeridas;
	}

	public void setCantPorcionesIngeridas(Integer cantPorcionesIngeridas) {
		this.cantPorcionesIngeridas = cantPorcionesIngeridas;
	}

}
